package com.example.service;

import java.util.List;

import com.example.entity.Roles;
import com.example.entity.Students;
import com.example.entity.StudentsVO;
import com.example.entity.User;
import com.example.entity.UserVO;

public interface UserService {

	/**
	 * 多条件查询
	 * @param userVO
	 * @return
	 */
	public List<User> GetUsersLayUI(UserVO userVO);
	/**
	 * 分页查询
	 * @param userVO
	 * @return
	 */
	public int getCount(UserVO userVO);
	/**
	 * 添加用户
	 * @param user
	 * @return
	 */
	public int addUser(User user);
	/**
	 * 修改用户信息
	 * @param user
	 * @return
	 */
	public int upUser(User user);
	/**
	 * 根据id删除用户
	 * @param id
	 * @return
	 */
	public int delUser(int id);
	
	/**
	 * 重置密码
	 * @param id
	 * @return
	 */
	public int ResetPassword(String id);
	/**
     * 根据id查询
     * @param id
     * @return
     */
    User selectByPrimaryKey(String id);
    
    
    
    /**
     * 查询全部
     * @return
     */
    List<User> selectListAll();
    
    
    
    /**
     * 根据loginName和password查询
     * @param loginName
     * @param password
     * @return
     */
    User selectByNameAndPwd(String loginName,String password);
    
    /**
     * 根据loginName查询
     * @param loginName
     * @return
     */
    User selectByName(String loginName);
    
    /**
     * 根据用户id获取角色
     * @param id
     * @return
     */
	public List<Roles> getRolesByUid(String userid);
	/**
	 * 查询所有角色
	 * @return
	 */
	public List<Roles> GetRolesAll();
	/**
	 * 解锁
	 * @param id
	 * @return
	 */
	public int islock(int id);
	/**
	 * 锁定
	 * @param id
	 * @return
	 */
	public int noIslock(int id);
	/**
	 * 手机号登录
	 * @param phoneNumber
	 * @return
	 */
	public User selectByProtectMTel(String phoneNumber);
	
	/**
	 * 网络学生的多条件查询
	 * @param studentsVO
	 * @return
	 */
	public List<Students> findStudents(StudentsVO studentsVO);
	public int getCountStudents(StudentsVO studentsVO);
	/**
	 * 新增网络学生
	 * @param students
	 * @return
	 */
	public int addStudents(Students students);
	
	 /**
     * 查询全部咨询师角色
     * @return
     */
	public List<User> selectAskersAll();
	
	/**
     * 查询需要分配咨询师的学生
     * 根据IsValid、AskerId、ZiXunName、CreateTime(升序)查询
     * @return
     */
	public List<Students> selectAllotZXS();
	
	
	


}
